package com.cskaoyan.javase.basic._0datatype;

/**
 * java的数据类型,从大的角度,应该分为两大类:
 *      1.基本数据类型,分为四类八种
 *          整型: 最常见的基本数据类型,代表整数
 *              byte: 字节型,占用8位,一个字节内存空间,取值范围[-128,127]
 *              short: 短整型,占用2个字节,16位,它不是很常用,了解即可
 *              int: 它就是整型的代表,int就是integer的缩写,它占用4个字节,32位内存空间
 *              long: 长整形,占用8个字节,64位
 *          浮点型: 浮点型不仅仅是小数,而是内存中机器数的一种表示方式.Java当中的浮点数遵循IEEE754标准
 *              浮点数比较重要的特点是:
 *                  1.有尾数,有有效位数的限制,能够表示的数字是有限的.比如有效数字是4位的数,能表示12345这个数吗?
 *                      所以浮点数有精度的限制,在一定位数范围内才是精准的
 *                  2.有阶码,就是有指数.所以浮点数可以表示一个非常大的数,也可以表示一个非常小的数
 *               所以在取值范围上,浮点数比所有的整数的取值范围都要更大.
 *               float: 单精度浮点数,32位
 *               double: 双精度浮点数,64位
 *
 *          字符型: 用来表示一个字符的类型,只有一个,char是character缩写.本质上仍然存储的是一个值,仍然能参与数值类型的运算.这个值称之为编码值,一个编码值会对应一个字符.这种一一对应的映射关系称之为编码表.
 *          Java采用Unicode编码表,一般使用16位来存储一个字符,但是注意编码值不是有符号数,而是无符号正数
 *          char类型存储的编码值的取值范围是[0,65535]
 *
 *          布尔类型: 用来表示真和假,只有两种取值,true和false.但是要注意布尔类型不是数值类型,不能进行数值运算
 *              布尔类型在一般情况下占用4个字节,当做int使用
 *              但是当布尔类型变量在数组中使用时,它只占一个字节
 *
 *      2.引用数据类型
 *          关于引用数据类型,我们在数组的章节中详细去讲.这里我们只需要知道: java中的一个变量只要不是四类八种基本数据类型,都是引用数据类型.比如String
 *
 *
 * @since 14:53
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        // char c = 65535;
        // 浮点数的有效位数
        float f = 0.123456789F;
        System.out.println(f);

        double d = 0.111111111111111111111111111112;
        System.out.println(d);
    }
}
